// @Author: Gerrit Beyens

package controllers;

import javax.swing.JOptionPane;
import views.CheckinPlaatsReserverenView;
import core.logic.services.checkinPlaatsReserverenService;
import core.models.dataModels.CheckinPlaatsReserverenModel;
import core.models.domainModel.Passagier;

public class CheckinPlaatsReserverenController {

	private static CheckinPlaatsReserverenView scherm;

	private static Passagier passa;

	public static void showView(Passagier p) {
		passa = p;

		// Haal het model op van de service
		CheckinPlaatsReserverenModel model = checkinPlaatsReserverenService.getCheckinPlaatsReserverenModel(p);

		// Stuur het model mee naar de view
		if (model.getMogelijkeZitplaatsen().size() > 0) {
			scherm = new CheckinPlaatsReserverenView(model, true, p);

			scherm.setVisible(true);
		} else {
			JOptionPane.showMessageDialog(null, "Klasse  van deze vlucht is volzet.", "Fout", JOptionPane.ERROR_MESSAGE);
		}
	}

	public static void handleViewOK(CheckinPlaatsReserverenModel model) {
		passa.setZitplaats(model.getGeselecteerdeZitplaats());
		if (checkinPlaatsReserverenService.setCheckinPlaatsReserverenModel(passa) > 0) {
			JOptionPane.showMessageDialog(scherm, "De zitplaats is succesvol toegewezen.", "Succes!",
					JOptionPane.INFORMATION_MESSAGE);
			scherm.dispose();
		} else {
			JOptionPane.showMessageDialog(scherm, "De zitplaats is niet succesvol toegewezen!", "Error!",
					JOptionPane.ERROR_MESSAGE);
		}
	}

	public static void handleViewCancel() {
		scherm.dispose();
	}
}
